2oneweek.dev

04. React Hook이란?

    Tags

  • React
04. React Hook이란? thumbnail

React Hook

  • 컴포넌트에 기능을 추가할 때 사용하는 함수다. (react v16.8에 추가되었다.)
    • 컴포넌트에 상태 값을 추가하거나 자식 요소에 접근하는 등의 기능을 추가하고 싶을 때 훅을 사용하면 된다.
    • 리액트 훅이 나오기 전에는, 클래스형 컴포넌트를 사용했다. 리액트 훅이 클래스형 컴포넌트를 대체할 수 있으며 장점이 많다.




hook 사용 시 지켜야 할 규칙

1. 하나의 컴포넌트에서 훅을 호출하는 순서는 항상 같아야한다. 2. 훅은 함수형 컴포넌트 또는 커스텀 훅 안에서만 호출되어야 한다.

  • 이 두개의 규칙을 지켜야, 리액트가 각 상태를 정확하게 파악할 수 있다. 리액트는 훅이 사용된 위치 정보를 기반으로 훅 데이터를 관리하기 때문이다.
    • 1번 규칙에 의해, if문이나 for문 안에서 훅을 사용하면 안된다.(if문이나 for문의 반복횟수에 의해 훅이 항상 똑같이 진행된다는 것을 보장할 수 없기 때문이다.)
    • 1번 규칙에 의해, 일반 함수 안에서 훅을 호출하면 안된다. 함수가 항상 호출된다는 보장이 없기 때문이다.




React 내장 훅

  1. useState
  2. useEffect
  3. useContext
  4. useRef
  5. useMemo
  6. useCallback
  7. useReducer
  8. useImperativeHandle
  9. useLayoutEffect
  10. useDebugValue
  • useMemo와 useCallback은 메모이제이션 기능을 제공한다. 따라서 이전 값을 재활용할 수 있다.
  • useReducer는 여러 개의 상태 값을 하나의 훅으로 관리할 때 편리한 기능을 제공해준다.
  • useImperativeHandle 훅은, 함수형 컴포넌트가 인스턴스로 만들어지진 않지만,함수형 컴포넌트에서도 클래스형 처럼 내부의 함수와 변수에 접근할 수 있다.
Written by@2-one-week
현재 블로그 개발 중

GitHubLinkedIn